上一篇講了一下常見的協定,而今天我們要更深入的探討HTTP Request怎麼應用,這些request不只能用於正常的數據交流,更是駭客攻擊的一種手段。
Request Line(請求行): 包含請求方法(如 GET、POST)、請求的 URL 和 HTTP 版本。請求方法指示了我們要對伺服器執行的操作,例如 GET 用於獲取資料,POST 用於發送資料。
Headers(標頭): 提供額外的資訊,比如客戶端的瀏覽器類型、主機名稱、支持的內容類型等。這些標頭有助於伺服器理解請求的上下文。
常見的標頭包括:
Body(主體): 在某些請求方法(如 POST 和 PUT)中,Body 包含要發送的數據,如表單數據或 JSON 格式的資料。
API是一組定義了應用程式、服務或平台之間如何互相溝通的規則和工具。
通過 API,開發者可以與應用程式或服務進行通信,無需了解其內部運作細節。API 通常使用 HTTP 協定進行通訊,允許客戶端向伺服器發送 HTTP Request 並接收回應。
環境架設:自己電腦安裝python,或使用google colab
記得 pip install requests
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
if response.status_code == 200:
data = response.json()
print("Post ID:", data['id'])
print("Title:", data['title'])
print("Body:", data['body'])
else:
print("請求失敗,狀態碼:", response.status_code)
Post ID: 1
Title: sunt aut facere repellat provident occaecati excepturi optio reprehenderit
Body: quia et suscipit
suscipit recusandae consequuntur expedita et cum
reprehenderit molestiae ut ut quas totam
nostrum rerum est autem sunt rem eveniet architecto
import requests
payload = {
'title': 'http post',
'body': 'test',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=payload)
print("Status Code:", response.status_code)
print("Response Body:", response.json())
Status Code: 201
Response Body: {'title': 'http post', 'body': 'test', 'userId': 1, 'id': 101}
Status Code: 201為表示成功的狀態碼